defAdmCmd(new AbstractAdmCmdImpl("testcomp"){
	execute:function(cmdLine,ctx){
		var def = new Def(JavaJSON.parseObject("{'did':'h','count':2}"));
		var item1 = newGoObject(Item, def);
		var testComp = item1.findComp(TestComp);
		print(testComp == null);
		var agent1 = newGoObject(Agent, def);
		testComp = agent1.findComp(TestComp);
		print(testComp instanceof TestComp.constructor);
		print(testComp instanceof Test1Comp.constructor);//true, Object.create bug
		print(testComp.isInstanceOf(TestComp));
		print(!testComp.isInstanceOf(Test1Comp));
		print(testComp === TestComp);
		print(testComp !== Test1Comp);
		print(testComp.echo() == "echo");
		print(testComp.test() == "testComp");
		var user1 = newGoObject(User,def);
		testComp = user1.findComp(TestComp);
		print(testComp instanceof TestComp.constructor);
		print(testComp instanceof Test1Comp.constructor);
		print(testComp.isInstanceOf(TestComp));
		print(testComp.isInstanceOf(Test1Comp));
		print(testComp !== TestComp);
		print(testComp === Test1Comp);
		print(testComp.echo() == "echo");
		print(testComp.test() == "test1Comp");
	},
});